home *** CD-ROM | disk | FTP | other *** search
/ Aminet 19 / Aminet 19 (1997)(GTI - Schatztruhe)[!][Jun 1997].iso / Aminet / comm / cnet / cnet_who.lha / who / Config < prev    next >
Text File  |  1997-04-26  |  28KB  |  287 lines

  1. /**************************************************************************\
  2.            $VER: CNet Who CONFIG, v2.71 (26-Apr-97) by Dotoran!
  3. \**************************************************************************/
  4. options results;signal on SYNTAX;signal on ERROR;signal on IOERR
  5. a=sourceline(2);parse var a . ", "ver" ("vdate")" .;a=random(,,time("s"))
  6. tr=transmit;se=sendstring;gc=getchar;gu=getuser;gs=getscratch;mg=maygetchar
  7. a="rexxsupport.library";if ~show("l",a) then if ~addlib(a,0,-30) then exit
  8. parse source . . fp .;dp=left(fp,max(lastpos('/',fp),lastpos(':',fp)))
  9.  
  10. gu 70;a=result;gu 1302246;b=result;if a='' then a=upper(b);b=index('W  WH WHO',left(a,3))
  11. if b=0 then do;tr 'n1c9MISSING ARGUMENT!';exit;end;v=b%3+1;vw=word('SHORT NORMAL LONG',v);call SETUP
  12. changewhere "CNet Who Config";call READCONFIG;signal SCREEN1
  13. START:;se 'z7c4'it.sc.it'z0';gc;a=result
  14. START2:;do 2;mg;b=result;end;if a=d2c(13) then signal START3
  15.   if b='A' then do;ii=it;do until gh.sc.it=0;a=pos(right(it,2,'0')'-',zU.sc)+3;it=strip(substr(zU.sc,a,2),'l','0');end;end
  16.   if b='B' then do;ii=it;do until gh.sc.it=0;a=pos(right(it,2,'0')'-',zD.sc)+3;it=strip(substr(zD.sc,a,2),'l','0');end;end
  17.   if b='C' then do;ii=it;if index(z.sc,' '||it||' ')>0 then do;do until gh.sc.it=0;a=pos(right(it,2,'0')'-',zR.sc)+3;it=strip(substr(zR.sc,a,2),'l','0');end;end;end
  18.   if b='D' then do;ii=it;if index(z.sc,' '||it||' ')>0 then do;do until gh.sc.it=0;a=pos(right(it,2,'0')'-',zL.sc)+3;it=strip(substr(zL.sc,a,2),'l','0');end;end;end
  19.   if index('ABCD',b)>0 then do;se 'z4c7'it.sc.ii'z0';se 'z4c7'it.sc.it'z0';end;signal START
  20. START3:;if sc=1 then signal MAIN;if sc=2 then signal COLORS;if sc=3 then signal TOGGLES;if sc=4 then signal GOODBYE
  21. MAIN:;a="MAIN"||it;signal (a);MAIN1:;signal SCREEN2;MAIN2:;signal SCREEN3;MAIN3:;signal SCREEN4
  22. MAIN4:;se '3H';call EDIT(s0.1,4,1);if result>'' then do;save=1;s0.1=result;end;se '3Hc3'left(s0.1,4);signal START
  23. MAIN5:;se '3H';call EDIT(s0.2,20,1);if result>'' then do;save=1;s0.2=result;end;se '3Hc3'left(s0.2,20);signal START
  24. MAIN6:;se '3H';call EDIT(s0.3,6,1);if result>'' then do;save=1;s0.3=result;end;se '3Hc3'left(s0.3,6);signal START
  25. MAIN7:;se '3H';call EDIT(s0.4,4,1);if result>'' then do;save=1;s0.4=result;end;se '3Hc3'left(s0.4,4);signal START
  26. MAIN8:;se '23H';call EDIT(s0.5,24,1);if result>'' then do;save=1;s0.5=result;end;se '23Hc3'left(s0.5,24);signal START
  27. MAIN9:;se '23H';call EDIT(s0.6,17,1);if result>'' then do;save=1;s0.6=result;end;se '23Hc3'left(s0.6,17);signal START
  28. MAIN10:;se '23H';call EDIT(s0.7,8,1);if result>'' then do;save=1;s0.7=result;end;se '23Hc3'left(s0.7,8);signal START
  29. MAIN11:;se '23H';call EDIT(s0.8,8,1);if result>'' then do;save=1;s0.8=result;end;se '23Hc3'left(s0.8,8);signal START
  30. MAIN12:;se '23H';call EDIT(s0.9,1,0);if result>'' then do;save=1;s0.9=result;end;se '23Hc3's0.9' 'copies(s0.9,20);signal START
  31. MAIN13:;se '23H';call EDIT(s0.10,1,0);if result>'' then do;save=1;s0.10=result;end;se '23Hc3's0.10' 'copies(s0.10,20);signal START
  32. MAIN14:;se "1Hc3Use CNet's Default Color Scheme? [No]: ";gc;a=result;if a~="Y" then do;tr "No.1H";signal START;end;else tr "Yes!"
  33.   con1.v=df.1.1;con2.v=df.1.2;con3.v=df.1.3;con4.v=df.1.4;call rEADCONFIG2;save=1;signal SCREEN1
  34. MAIN15:;se "1Hc3Use Dotoran's Frontiers Color Scheme? [No]: ";gc;a=result;if a~="Y" then do;tr "No.1H";signal START;end;else tr "Yes!"
  35.   con1.v=df.2.1;con2.v=df.2.2;con3.v=df.2.3;con4.v=df.2.4;call READCONFIG2;save=1;signal SCREEN1
  36. MAIN16:;signal LAYOUT
  37. MAIN17:;se '7H';call m2(1);signal START
  38. MAIN18:;se '7H';call m2(3);signal START
  39. MAIN19:;se '7H';call m2(5);signal START
  40. MAIN20:;se '7H';call m2(7);signal START
  41. MAIN21:;se '57H';call m2(9);signal START
  42. MAIN22:;se '57H';call m2(11);signal START
  43. MAIN23:;se '57H';call m2(13);signal START
  44. MAIN24:;se '57H';call m2(15);signal START
  45. MAIN25:;se '57H';call m2(17);signal START
  46. MAIN26:;se '57H';call m2(19);signal START
  47. MAIN27:;se "1Hc3You wish to create the z4c7"vw"z0 c3who module? [Yes]: ";gc;a=result
  48.   if a="N" then do;tr "No.1H";signal START;end;tr "Yes!1H";call SAVECONFIG
  49.   tr '51Hc3Creating c6'vw' WHOc3...#0'dp'MakeWho 'v'}b151H';signal START
  50. MAIN28:;se "1Hc3You wish to create z4c7ALLz0 c3who modules? [Yes]: ";gc;a=result
  51.   if a="N" then do;tr "No.1H";signal START;end;tr "Yes!1H";call SAVECONFIG
  52.   tr '51Hc3Creating c6ALL WHO FILESc3...#0'dp'MakeWho 0}b151H';signal START
  53. MAIN29:;se '9H';call m1(2);signal START
  54. MAIN30:;se '9H';call m1(4);signal START
  55. MAIN31:;se '9H';call m1(6);signal START
  56. MAIN32:;se '9H';call m1(8);signal START
  57. MAIN33:;se '69H';call m1(10);signal START
  58. MAIN34:;se '69H';call m1(12);signal START
  59. MAIN35:;se '69H';call m1(14);signal START
  60. MAIN36:;se '69H';call m1(16);signal START
  61. MAIN37:;se '69H';call m1(18);signal START
  62. MAIN38:;se '69H';call m1(20);signal START
  63. M1:;arg a;b=index(mci1,s1.a);if b>15 then b=0;c=EDIT(s1.a,1,0);if index(mci1,c)=0|c=s1.a then c=substr(mci1,b+1,1);s1.a=c;save=1;tr 'uc3'c;return c
  64. M2:;arg a;b=index(mci2,s1.a);if b>7 then b=0;c=EDIT(s1.a,1,2);if index(mci2,c)=0|c=s1.a then c=substr(mci2,b+1,1);s1.a=c;save=1;tr 'uc3'c;return c
  65. COLORS:;a="COLORS"||it;signal (a);COLORS1:;signal SCREEN3;COLORS2:;signal SCREEN4;COLORS3:;signal SCREEN1
  66. COLORS4:;se '3Hcb';call c1(1);signal START
  67. COLORS5:;se '3Hcb';call c1(2);signal START
  68. COLORS6:;se '3Hcb';call c1(3);signal START
  69. COLORS7:;se '3Hcb';call c1(4);signal START
  70. COLORS8:;se '23Hcb';call c1(5);signal START
  71. COLORS9:;se '23Hcb';call c1(6);signal START
  72. COLORS10:;se '23Hcb';call c1(7);signal START
  73. COLORS11:;se '23Hcb';call c1(8);signal START
  74. COLORS12:;se '23Hcb';call c1(9);signal START
  75. COLORS13:;se '23Hcb';call c1(10);signal START
  76. COLORS14:;se '23Hcb';call c1(11);signal START
  77. COLORS15:;se '23Hcb';call c1(12);signal START
  78. COLORS16:;se '23Hcb';call c1(13);signal START
  79. COLORS17:;se '23Hcb';call c1(14);signal START
  80. COLORS18:;se '23Hcb';call c1(35);signal START
  81. COLORS19:;se '23H';call EDIT(s2.29,4,0);if result>'' then do;save=1;s2.29=result;end;se '23Hc3'left(s2.29,4);signal START
  82. COLORS20:;se '23H';call EDIT(s2.32,4,0);if result>'' then do;save=1;s2.32=result;end;se '23Hc3'left(s2.32,4);signal START
  83. COLORS21:;signal LAYOUT
  84. COLORS22:;se '5Hcb';call c1(15);signal START
  85. COLORS23:;se '5Hcb';call c1(16);signal START
  86. COLORS24:;se '5Hcb';call c1(17);signal START
  87. COLORS25:;se '5Hcb';call c1(18);signal START
  88. COLORS26:;se '55Hcb';call c1(19);signal START
  89. COLORS27:;se '55Hcb';call c1(20);signal START
  90. COLORS28:;se '55Hcb';call c1(21);signal START
  91. COLORS29:;se '55Hcb';call c1(22);signal START
  92. COLORS30:;se '55Hcb';call c1(23);signal START
  93. COLORS31:;se '55Hcb';call c1(24);signal START
  94. COLORS32:;se '55Hcb';call c1(25);signal START
  95. COLORS33:;se '55Hcb';call c1(26);signal START
  96. COLORS34:;se '55Hcb';call c1(27);signal START
  97. COLORS35:;se '55Hcb';call c1(28);signal START
  98. COLORS36:;se '55Hcb';call c1(36);signal START
  99. COLORS37:;se '39Hcb';call c1(30);signal START
  100. COLORS38:;se '39Hcb';call c1(33);signal START
  101. COLORS39:;se '55Hcb';call c2(31);signal START
  102. COLORS40:;se '55Hcb';call c2(34);signal START
  103. C1:;arg a;b=index(mci1,s2.a);if b>15 then b=0;c=EDIT(s2.a,1,0);if index(mci1,c)=0|c=s2.a then c=substr(mci1,b+1,1);s2.a=c;save=1;tr 'uc3'c;return c
  104. C2:;arg a;b=index(mci2,s2.a);if b>7 then b=0;c=EDIT(s2.a,1,2);if index(mci2,c)=0|c=s2.a then c=substr(mci2,b+1,1);s2.a=c;save=1;tr 'uc3'c;return c
  105. TOGGLES:;a="TOGGLES"||it;signal (a)
  106. TOGGLES1:;signal SCREEN2
  107. TOGGLES2:;signal SCREEN4
  108. TOGGLES3:;signal SCREEN1
  109. TOGGLES4:;if s3.1=0 then s3.1=1;else s3.1=0;save=1;se '3Hc3'left(subword('No Yes',s3.1+1,1),3);signal START
  110. TOGGLES5:;if s3.2=0 then s3.2=1;else s3.2=0;save=1;se '3Hc3'left(subword('No Yes',s3.2+1,1),3);signal START
  111. TOGGLES6:;if s3.3=0 then s3.3=1;else s3.3=0;save=1;se '3Hc3'left(subword('No Yes',s3.3+1,1),3);signal START
  112. TOGGLES7:;if s3.4=0 then s3.4=1;else s3.4=0;save=1;se '3Hc3'left(subword('No Yes',s3.4+1,1),3);signal START
  113. TOGGLES8:;if s3.5=0 then s3.5=1;else s3.5=0;save=1;se '23Hc3'left(subword('No Yes',s3.5+1,1),3);signal START
  114. TOGGLES9:;if s3.10=0 then s3.10=1;else s3.10=0;save=1;se '23Hc3'left(subword('No Yes',s3.10+1,1),3);signal START
  115. TOGGLES10:;if s3.11=0 then s3.11=1;else s3.11=0;save=1;se '23Hc3'left(subword('No Yes',s3.11+1,1),3);signal START
  116. TOGGLES11:;call open(f1,dp'IdlePorts','r');a=word(readln(f1),1);do i=1 to a;b=readln(f1);parse var b p'|'info;call setclip('IdleWhoB'p,info);end i;call close(f1);tr 'b1';signal START
  117. TOGGLES12:;if s3.9=0 then s3.9=1;else s3.9=0;save=1;se '5Hc3'left(subword('No Yes',s3.9+1,1),3);signal START
  118. TOGGLES13:;if s3.6=0 then s3.6=1;else s3.6=0;save=1;se '5Hc3'left(subword('No Yes',s3.6+1,1),3);signal START
  119. TOGGLES14:;se '5H';call EDIT(s3.7,2,2);if result>'' then s3.7=result;save=1;se '5Hc3'left(s3.7,2);signal START
  120. TOGGLES15:;se '5H';call EDIT(s3.8,2,2);if result>'' then s3.8=result;save=1;se '5Hc3'left(s3.8,2);signal START
  121. TOGGLES16:;if s3.12=0 then s3.12=1;else s3.12=0;save=1;se '55Hc3'left(word('No Yes',s3.12+1,1),3);signal START
  122. TOGGLES17:;se '55H';call EDIT(fakeL,3,2);if result>'' then fakeL=result*10;save=1;se '55Hc3'left(fakeL,3);signal START
  123. TOGGLES18:;se '55H';call EDIT(fakeH,3,2);if result>'' then fakeH=result*10;save=1;se '55Hc3'left(fakeH,3);signal START
  124. GOODBYE:;a="GOODBYE"||it;signal (a)
  125. GOODBYE1:;signal SCREEN1
  126. GOODBYE2:;tr 'f1n2';call SAVECONFIG;exit
  127. GOODBYE3:;tr 'f1n2';exit
  128. SETUP:;changewhere "Who CONFIG";save=0;mci1='0123456789abcdef';mci2='01234567'
  129.   gd.1.1='1967810111219202123242528313233353637x';gd.1.2='32789111213141516171920222324252627282930313233343537383940x';gd.1.3='456910x'
  130.   gd.2.1='1010111223242528353637x';gd.2.2='281112131516171920222324252627282930313233343537383940x';gd.2.3='36910x';gd.3.1='00x';gd.3.2='00x';gd.3.3='00x'
  131.   z.1=' 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 '
  132.   zR.1='03-16-03-04-17-29-04-05-18-30-05-06-19-31-06-07-20-32-07-08-21-33-08-09-22-34-09-10-23-35-10-11-24-36-11-12-25-37-12-13-26-38-13-14-27-14-15-28-15'
  133.   zL.1='28-15-28-27-14-27-38-26-13-38-37-25-12-37-36-24-11-36-35-23-10-35-34-22-09-34-33-21-08-33-32-20-07-32-31-19-06-31-30-18-05-30-29-17-04-29-16-03-16'
  134.   zD.1='01-02-03-04-05-06-07-08-09-10-11-12-13-14-15-01-16-17-18-19-20-21-22-23-24-25-26-27-28-16-29-30-31-32-33-34-35-36-37-38-27'
  135.   zU.1='28-27-38-37-36-35-34-33-32-31-30-29-16-28-26-25-24-23-22-21-20-19-18-17-16-15-14-13-12-11-10-09-08-07-06-05-04-03-02-01-15'
  136.   it.1.1 ='HEdit Data Colors   >>';it.1.2 ='HToggle Switches    >>';it.1.3 ='H<< Exit              ';it.1.4 ='HPort Heading        :'
  137.   it.1.5 ='HHandle Heading      :';it.1.6 ='HLogon Heading       :';it.1.7 ='HCPS Heading         :';it.1.8 ='1HLocation Heading    :'
  138.   it.1.9 ='1HWhere Heading       :';it.1.10='1HMale   Gender Text  :';it.1.11='1HFemale Gender Text  :';it.1.12='1HSeparator Char Line :'
  139.   it.1.13='1HTerminate Char Line :';it.1.14='1HUse CNet "Stock" BBS ';it.1.15='1HUse "Frontiers"  BBS ';it.1.16='1HSHOW EXAMPLE LAYOUT  '
  140.   it.1.17='1H BG :';it.1.18='1H BG :';it.1.19='1H BG :';it.1.20='1H BG :';it.1.21='51H BG :';it.1.22='51H BG :';it.1.23='51H BG :'
  141.   it.1.24='51H BG :';it.1.25='51H BG :';it.1.26='51H BG :';it.1.27='51HCREATE 'left(vw' WHO',10)'    ';it.1.28='51HCREATE ALL WHO FILES '
  142.   it.1.29='3H FG :';it.1.30='3H FG :';it.1.31='3H FG :';it.1.32='3H FG :';it.1.33='63H FG :';it.1.34='63H FG :';it.1.35='63H FG :'
  143.   it.1.36='63H FG :';it.1.37='63H FG :';it.1.38='63H FG :'
  144.   z.2=' 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 '
  145.   zR.2='03-21-03-04-22-04-05-23-05-06-24-06-07-25-07-08-26-08-09-27-09-10-28-10-11-29-11-12-30-12-13-31-13-14-32-14-15-33-15-16-34-16-17-35-17-18-36-18-19-37-39-19-20-38-40-20'
  146.   zL.2='40-38-20-40-39-37-19-39-36-18-36-35-17-35-34-16-34-33-15-33-32-14-32-31-13-31-30-12-30-29-11-29-28-10-28-27-09-27-26-08-26-25-07-25-24-06-24-23-05-23-22-04-22-21-03-21'
  147.   zD.2='01-02-03-04-05-06-07-08-09-10-11-12-13-14-15-16-17-18-19-20-01-21-22-23-24-25-26-27-28-29-30-31-32-33-34-35-36-37-38-21-39-40-21'
  148.   zU.2='38-37-36-35-34-33-32-31-30-29-28-27-26-25-24-23-22-21-38-20-19-18-17-16-15-14-13-12-11-10-09-08-07-06-05-04-03-02-01-20-40-39-36'
  149.   it.2.1 ='H<< Toggle Switches   ';it.2.2 ='H<< Exit              ';it.2.3 ='H<< Previous Screen   '
  150.   it.2.4 ='HPort Number Digits  :';it.2.5 ='HHide/Muffle Flags   :';it.2.6 ='HUser Handle Text    :'
  151.   it.2.7 ='HLogon  Time Text    :';it.2.8 ='1HCPS Speed Text      :';it.2.9 ='1HCity/State/Country  :'
  152.   it.2.10='1HWhere Text String   :';it.2.11='1HLast Call Date Text :';it.2.12='1HHistory * Flag      :'
  153.   it.2.13='1HTime Today Minutes  :';it.2.14='1HWho Banner Text     :';it.2.15='1HGlimpse Text Color  :'
  154.   it.2.16='1HColons After LC/TT  :';it.2.17='1HAgain/Handle/Misc...:';it.2.18='1HIdle Time Digits    :'
  155.   it.2.19='1HLast Call Date Text :';it.2.20='1HTime Used Today Text:';it.2.21='3HSHOW EXAMPLE LAYOUT  '
  156.   it.2.22='3HCommand Keywords    :';it.2.23='3HCommand Brackets    :';it.2.24='3HOther Command Text  :'
  157.   it.2.25='3HHistory/Histories...:';it.2.26='33HWho/Port, etc...    :';it.2.27='33HQuit/User, etc...   :'
  158.   it.2.28='33HHistory Title Bar   :';it.2.29='33HDefault History Text:';it.2.30='33HBanners Title Bar   :'
  159.   it.2.31='33HBanner SubTitles    :';it.2.32='33HSubTitle Underscores:';it.2.33='33HWord "Banner"       :'
  160.   it.2.34='33HBanner Number       :';it.2.35='33HBanner Colons       :';it.2.36='33HIdle Time d-h-m-s   :'
  161.   it.2.37='33H FG :';it.2.38='33H FG :';it.2.39='49H BG :';it.2.40='49H BG :'
  162.   z.3=' 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18'
  163.   zR.3='03-11-03-04-12-04-05-13-05-06-14-06-07-15-07-08-16-08-09-17-09-10-18-10'
  164.   zL.3='18-10-18-17-09-17-16-08-16-15-07-15-14-06-14-13-05-13-12-04-12-11-03-11'
  165.   zD.3='01-02-03-04-05-06-07-08-09-10-01-11-12-13-14-15-16-17-18-11'
  166.   zU.3='18-17-16-15-14-13-12-11-18-10-09-08-07-06-05-04-03-02-01-10'
  167.   it.3.1 ='{1;1H<< Edit Data Colors  ';it.3.2 ='H<< Exit              ';it.3.3 ='H<< Previous Screen   '
  168.   it.3.4 ='HShow Idle Minutes   :';it.3.5 ='HShow Idle Banners   :';it.3.6 ='HMultiple Banners    :'
  169.   it.3.7 ='HSkip Idle Ports     :';it.3.8 ='1HSkip Hidden Ports   :';it.3.9 ="1HAllow Banner MCI's  :"
  170.   it.3.10="1HAllow SysOp  MCI's  :";it.3.11='3HReLoad "IdlePorts"   ';it.3.12='3HClear Screen Before :'
  171.   it.3.13='3HUse Empty Port Block:';it.3.14='3HPort to Skip FROM   :';it.3.15='3HPort to Skip TO     :'
  172.   it.3.16='33HPrint IdleTime Days :';it.3.17='33HMin. Fake Idle Mins.:';it.3.18='33HMax. Fake Idle Mins.:'
  173.   z.4=' 2 3 ';zR.4='02-03-02';zL.4='03-02-03';zD.4='01-02-01-03-03'
  174.   zU.4='03-03-02-01-02';it.4.1='H<< Abort Exit        '
  175.   it.4.2='HSave changes         ';it.4.3='6HExit without saving  '
  176.   df.1.1='PortUser nameLogonSpdFromWhereMaleFemale-=x'
  177.   df.1.2='01010101010174710202x'
  178.   df.1.3='7377766737577777777777777777LC07TT0777x'
  179.   df.1.4='111000001100x'
  180.   df.2.1='PortUser HandleLogonSpdFromWhereMaleFemale-=x'
  181.   df.2.2='6464646464644f1b060cx'
  182.   df.2.3='fbedb69ab9adfea76fbdea9eadbaLC46TT46bex'
  183.   df.2.4='111000001100x'; return
  184. LAYOUT:;do i=1 to 19 by 2;c.i='z's1.i;end i;do i=2 to 20 by 2;c.i='c's1.i;end i
  185.   do i=1 to 36;k.i='c's2.i;end i;k.31='z's2.31;k.34='z's2.34
  186.   if v=1 then do;tr 'f1n3'c.1||c.2||left(s0.1,4)'z0 'c.3||c.4||left(s0.2,20)'z0 'c.11||c.12||left(s0.6,17)'z0'
  187.   tr c.19||c.20||copies(s0.10,4)'z0 'c.19||c.20||copies(s0.10,20)'z0 'c.19||c.20||copies(s0.10,17)'z0'
  188.   tr k.1' 0 'k.2'+ 'k.3'Dotoran              'k.7'Idle 'k.35'0'k.36'h 'k.35'7'k.36'm 'k.35'22'k.36's';tr k.1' 1 'k.2'h 'k.3'Seductress           'k.7'Long WHO'
  189.   tr k.1' 2   'k.3'<No One>             'k.7'Idle 'k.35'2'k.36'h 'k.35'12'k.36'm 'k.35'3'k.36's';tr c.19||c.20||copies(s0.10,43)'z0n2';tr 'c7Press any key...g1';end
  190.   if v=2 then do;tr 'f1n3'c.1||c.2||left(s0.1,4)'z0 'c.3||c.4||left(s0.2,20)'z0 'c.5||c.6||left(s0.3,6)'z0 'c.7||c.8||left(s0.4,3)'z0 'c.9||c.10||left(s0.5,24)'z0 'c.11||c.12||left(s0.6,17)'z0'
  191.   tr c.19||c.20||copies(s0.10,4)'z0 'c.19||c.20||copies(s0.10,20)'z0 'c.19||c.20||copies(s0.10,6)'z0 'c.19||c.20||copies(s0.10,3)'z0 'c.19||c.20||copies(s0.10,24)'z0 'c.19||c.20||copies(s0.10,17)'z0'
  192.   tr k.1' 0 'k.2'+ 'k.3'Dotoran               'k.4'8:06p 'k.5'576 'k.6'Buffalo, NY          USA 'k.7'Idle 'k.35'0'k.36'h 'k.35'7'k.36'm 'k.35'22'k.36's'
  193.   tr 'C'k.11"I'm the SysOp Here! Type OL0! & Say Hi!";tr k.1' 1 'k.2'h 'k.3'Seductress            'k.4'8:06p 'k.5'576 'k.6'Buffalo, NY          USA 'k.7'Long WHO'
  194.   tr 'C'k.11'Hey Good Looking, What Ya Got Cooking?';tr k.1' 2   'k.3'<This is a LOCAL Port used for TESTING Purposes>         'k.7'Idle 'k.35'2'k.36'h 'k.35'12'k.36'm 'k.35'3'k.36's';tr c.19||c.20||copies(s0.10,79)'z0n2'
  195.   tr 'c7Press any key...g1';end
  196.   if v=3 then do;tr 'f1n3'c.1||c.2||left(s0.1,4)'z0 'c.3||c.4||left(s0.2,20)'z0 'c.5||c.6||left(s0.3,6)'z0 'c.7||c.8||left(s0.4,3)'z0 'c.9||c.10||left(s0.5,24)'z0 'c.11||c.12||left(s0.6,17)'z0'
  197.   tr c.19||c.20||copies(s0.10,4)'z0 'c.19||c.20||copies(s0.10,20)'z0 'c.19||c.20||copies(s0.10,6)'z0 'c.19||c.20||copies(s0.10,3)'z0 'c.19||c.20||copies(s0.10,24)'z0 'c.19||c.20||copies(s0.10,17)'z0'
  198.   tr k.1' 0 'k.2'+ 'k.3'Dotoran               'k.4'8:06p 'k.5'576 'k.6'Buffalo, NY          USA 'k.7'Idle 'k.35'0'k.36'h 'k.35'7'k.36'm 'k.35'22'k.36's'
  199.   tr k.30||k.31||center(s2.29,4)"z0"k.13": "k.8"23-Feb "c.13||c.14||center(s0.7,8)"z0 "k.9"*"k.33||k.34||center(s2.32,4)"z0"k.13": "k.10"48      "k.11"I'm the SysOp Here! Type OL0! & Say Hi!n1"
  200.   tr k.12'These three(3) lines are your personal "Glimpse" file, and may be edited by';tr 'pressing "G" from the prompt below. Your "History" file is a text file of up to'
  201.   tr '20 lines, where you may wish to supply even more "words of wisdom/info"!';tr c.17||c.18||copies(s0.9,79)'z0';tr k.1' 1 'k.2'h 'k.3'Seductress            'k.4'8:06p 'k.5'576 'k.6'Buffalo, NY          USA 'k.7'Long WHO'
  202.   tr k.30||k.31||center(s2.29,4)'z0'k.13': 'k.8'23-Feb 'c.15||c.16||center(s0.8,8)'z0 'k.9'*'k.33||k.34||center(s2.32,4)'z0'k.13': 'k.10'48      'k.11'Hey Good Looking, What Ya Got Cooking?';tr c.17||c.18||copies(s0.9,79)'z0'
  203.   tr k.1' 2   'k.3'<This is a LOCAL Port used for TESTING Purposes>         'k.7'Idle 'k.35'2'k.36'h 'k.35'12'k.36'm 'k.35'3'k.36's';tr c.19||c.20||copies(s0.10,79)'z0'
  204.   tr k.17'Long 'k.19'Who 'k.16'['k.15'B'k.16']'k.15'anner'k.17', 'k.16'['k.15'G'k.16']'k.15'limpse'k.17', 'k.16'['k.15'V'k.16']'k.15'iew 'k.18'History'k.17', or 'k.16'['k.20'QUIT'k.16']'k.17': 'k.20'Quitn2'
  205.   tr 'c7Press any key...g1';tr 'f1';do i=1 to 34;k.i='c's2.i;end i;tr k.23'r1 Your Short Who Banners r0n1';tr k.24' Current Banner';tr k.25'~~~~~~~~~~~~~~~~'
  206.   tr k.26'Banner 'k.27'0'k.28': 'k.3"Hi, I'm New here! Buzz me and say Hi!n1"; tr k.24' Banners On File';tr k.25'~~~~~~~~~~~~~~~~~'
  207.   do i=1 to 9;tr k.26'Banner 'k.27||i||k.28': 'k.3"Extra Banner (Type WHO B to edit Banner!)";end i
  208.   tr 'n1'k.17'Edit 'k.16'['k.15'0'k.16'] 'k.17'thru 'k.16'['k.15'9'k.16']'k.17', 'k.16'['k.20'Q'k.16']'k.20'uit'k.17', or 'k.16'['k.15'P'k.16']'k.15'ick 'k.17'current? 'k.16'['k.15'Pick'k.16']'k.17': 'k.20'Quitn1'
  209.   tr 'c7Press any key...g1';end;a='SCREEN'sc;signal (a)
  210. READCONFIG:;call open(f1,dp'Config.Data','r');line=readln(f1);do i=1 to 3
  211.   con1.i=readln(f1);con2.i=readln(f1);con3.i=readln(f1);con4.i=readln(f1);end i;call close(f1)
  212. READCONFIG2:;gh.=0;parse var line li107''li903''li1066''fakeL''fakeH''li5''li4''j
  213.   parse var gd.v.1 gt''gd;do i=1 to gt;parse var gd g''gd;gh.1.g=1;end i
  214.   parse var gd.v.2 gt''gd;do i=1 to gt;parse var gd g''gd;gh.2.g=1;end i
  215.   parse var gd.v.3 gt''gd;do i=1 to gt;parse var gd g''gd;gh.3.g=1;end i
  216.   c1=con1.v;do i=1 to 10;parse var c1 s0.i''c1;end i
  217.   c2=con2.v;do i=1 to 20;parse var c2 s1.i''c2;end i
  218.   c3=con3.v;do i=1 to 36;parse var c3 s2.i''c3;end i
  219.   c4=con4.v;do i=1 to 12;parse var c4 s3.i''c4;end i;call BBSTEXT
  220.   if li4~=l4|li5~=l5|li107~=l107|li903~=l903|li1066~=l1066|fakeH~=fake then do
  221.     call SAVECONFIG;signal READCONFIG;end;return
  222. SAVECONFIG:;line=l107''l903''l1066''fakeL''fakeH''l5''l4'x'
  223.   c1='';do i=1 to 10;c1=c1||s0.i'';end i;con1.v=c1'x';c2='';do i=1 to 20;c2=c2||s1.i'';end i;con2.v=c2'x'
  224.   c3='';do i=1 to 36;c3=c3||s2.i'';end i;con3.v=c3'x';c4='';do i=1 to 12;c4=c4||s3.i'';end i;con4.v=c4'x';save=0
  225.   call open(f1,dp'Config.Data','w');call writeln(f1,line);do i=1 to 3;call writeln(f1,con1.i);call writeln(f1,con2.i)
  226.     call writeln(f1,con3.i);call writeln(f1,con4.i);end i;call close(f1);return
  227. SCREEN1:;sc=1;it=3;tr 'f1@4z4c7Edit Data Colors   >>z0Cz7ccCNet/4 VisualDataEditorz0  c3'vw
  228.   tr 'z4c7Toggle Switches    >>z0Cz7ccUse cursor keys; ENTER to selectz0n1'
  229.   tr 'z4c7<< Exit              z0Cz4c7SHOW EXAMPLE LAYOUT  z0n1'
  230.   tr 'z4c7Port Heading        :z0 c3'left(s0.1,28)'z4c7 BG :z0 c3's1.1'Cz4c7 FG :z0 c3's1.2
  231.   tr 'z4c7Handle Heading      :z0 c3'left(s0.2,28)'z4c7 BG :z0 c3's1.3'Cz4c7 FG :z0 c3's1.4
  232.   tr 'z4c'g1(6)'Logon Heading       :z0 c'g2(6)||left(s0.3,28)'z4c'g1(19)' BG :z0 c'g2(19)||s1.5'Cz4c'g1(31)' FG :z0 c'g2(31)||s1.6
  233.   tr 'z4c'g1(7)'CPS Heading         :z0 c'g2(7)||left(s0.4,28)'z4c'g1(20)' BG :z0 c'g2(20)||s1.7'Cz4c'g1(32)' FG :z0 c'g2(32)||s1.8
  234.   tr 'z4c'g1(8)'Location Heading    :z0 c'g2(8)||left(s0.5,28)'z4c'g1(21)' BG :z0 c'g2(21)||s1.9'Cz4c'g1(33)' FG :z0 c'g2(33)||s1.10
  235.   tr 'z4c7Where Heading       :z0 c3'left(s0.6,28)'z4c7 BG :z0 c3's1.11'Cz4c7 FG :z0 c3's1.12'n1'
  236.   tr 'z4c'g1(10)'Male   Gender Text  :z0 c'g2(10)||left(s0.7,28)'z4c'g1(23)' BG :z0 c'g2(23)||s1.13'Cz4c'g1(35)' FG :z0 c'g2(35)||s1.14
  237.   tr 'z4c'g1(11)'Female Gender Text  :z0 c'g2(11)||left(s0.8,28)'z4c'g1(24)' BG :z0 c'g2(24)||s1.15'Cz4c'g1(36)' FG :z0 c'g2(36)||s1.16'n1'
  238.   tr 'z4c'g1(12)'Separator Char Line :z0 c'g2(12)||s0.9' 'copies(s0.9,20)'Cz4c'g1(25)' BG :z0 c'g2(25)||s1.17'Cz4c'g1(37)' FG :z0 c'g2(37)||s1.18
  239.   tr 'z4c7Terminate Char Line :z0 c3's0.10' 'copies(s0.10,20)'Cz4c7 BG :z0 c3's1.19'Cz4c7 FG :z0 c3's1.20'n1'
  240.   tr 'z4c7Use CNet "Stock" BBS z0Cz4c7CREATE 'left(vw' WHO',10)'    z0'
  241.   tr 'z4c7Use "Frontiers"  BBS z0Cz4c'g1(28)'CREATE ALL WHO FILES z0';signal START
  242. SCREEN2:;sc=2;it=3;tr 'f1@4z4c7<< Toggle Switches   z0Cz7ccCNet/4 VisualDataEditorz0  c3'vw
  243.   tr 'Cz7ccUse cursor keys; ENTER to selectz0';tr 'z4c7<< Exit              z0'
  244.   tr 'z4c7<< Previous Screen   z0Cz4c7SHOW EXAMPLE LAYOUT  z0n1'
  245.   tr 'z4c7Port Number Digits  :z0 c3's2.1'Cz4c'g1(22)'Command Keywords    :z0 c'g2(22)||s2.15
  246.   tr 'z4c7Hide/Muffle Flags   :z0 c3's2.2'Cz4c'g1(23)'Command Brackets    :z0 c'g2(23)||s2.16
  247.   tr 'z4c7User Handle Text    :z0 c3's2.3'Cz4c'g1(24)'Other Command Text  :z0 c'g2(24)||s2.17
  248.   tr 'z4c'g1(7)'Logon  Time Text    :z0 c'g2(7)||s2.4'Cz4c'g1(25)'History/Histories...:z0 c'g2(25)||s2.18
  249.   tr 'z4c'g1(8)'CPS Speed Text      :z0 c'g2(8)||s2.5'Cz4c'g1(26)'Who/Port, etc...    :z0 c'g2(26)||s2.19
  250.   tr 'z4c'g1(9)'City/State/Country  :z0 c'g2(9)||s2.6'Cz4c'g1(27)'Quit/User, etc...   :z0 c'g2(27)||s2.20
  251.   tr 'z4c7Where Text String   :z0 c3's2.7'Cz4c'g1(28)'History Title Bar   :z0 c'g2(28)||s2.21
  252.   tr 'z4c'g1(11)'Last Call Date Text :z0 c'g2(11)||s2.8'Cz4c'g1(29)'Default History Text:z0 c'g2(29)||s2.22
  253.   tr 'z4c'g1(12)'History * Flag      :z0 c'g2(12)||s2.9'Cz4c'g1(30)'Banners Title Bar   :z0 c'g2(30)||s2.23
  254.   tr 'z4c'g1(13)'Time Today Minutes  :z0 c'g2(13)||s2.10'Cz4c'g1(31)'Banner SubTitles    :z0 c'g2(31)||s2.24
  255.   tr 'z4c'g1(14)'Who Banner Text     :z0 c'g2(14)||s2.11'Cz4c'g1(32)'SubTitle Underscores:z0 c'g2(32)||s2.25
  256.   tr 'z4c'g1(15)'Glimpse Text Color  :z0 c'g2(15)||s2.12'Cz4c'g1(33)'Word "Banner"       :z0 c'g2(33)||s2.26
  257.   tr 'z4c'g1(16)'Colons After LC/TT  :z0 c'g2(16)||s2.13'Cz4c'g1(34)'Banner Number       :z0 c'g2(34)||s2.27
  258.   tr 'z4c'g1(17)'Again/Handle/Misc...:z0 c'g2(17)||s2.14'Cz4c'g1(35)'Banner Colons       :z0 c'g2(35)||s2.28
  259.   tr 'z4c7Idle Time Digits    :z0 c3's2.35'Cz4c7Idle Time d-h-m-s   :z0 c3's2.36'n1'
  260.   tr 'z4c'g1(19)'Last Call Date Text :z0 c'g2(19)||left(s2.29,4)'Cz4c'g1(37)' FG :z0 c'g2(37)||s2.30'Cz4c'g1(39)' BG :z0 c'g2(39)||s2.31
  261.   tr 'z4c'g1(20)'Time Used Today Text:z0 c'g2(20)||left(s2.32,4)'Cz4c'g1(38)' FG :z0 c'g2(38)||s2.33'Cz4c'g1(40)' BG :z0 c'g2(40)||s2.34;signal START
  262. SCREEN3:;sc=3;it=3;tr 'f1@4z4c7<< Edit Data Colors  z0Cz7ccCNet/4 VisualDataEditorz0  c3'vw
  263.   tr 'Cz7ccUse cursor keys; ENTER to selectz0';tr 'z4c7<< Exit              z0'
  264.   tr 'z4c7<< Previous Screen   z0Cz4c7ReLoad "IdlePorts"   z0n1'
  265.   tr 'z4c7Show Idle Minutes   :z0 c3'left(subword('No Yes',s3.1+1),3)'Cz4c7Clear Screen Before :z0 c3'left(subword('No Yes',s3.9+1),3)
  266.   tr 'z4c'g1(5)'Show Idle Banners   :z0 c'g2(5)||left(subword('No Yes',s3.2+1),3)'Cz4c7Use Empty Port Block:z0 c3'left(subword('No Yes',s3.6+1),3)
  267.   tr 'z4c'g1(6)'Multiple Banners    :z0 c'g2(6)||left(subword('No Yes',s3.3+1),3)'Cz4c7Port to Skip FROM   :z0 c3'left(s3.7,2)
  268.   tr 'z4c7Skip Idle Ports     :z0 c3'left(subword('No Yes',s3.4+1),3)'Cz4c7Port to Skip TO     :z0 c3'left(s3.8,2)
  269.   tr 'z4c7Skip Hidden Ports   :z0 c3'left(subword('No Yes',s3.5+1),3)'Cz4c7Print IdleTime Days :z0 c3'left(word('No Yes',s3.12+1),3)
  270.   tr "z4c"g1(9)"Allow Banner MCI's  :z0 c"g2(9)||left(subword('No Yes',s3.10+1),3)'Cz4c7Min. Fake Idle Mins.:z0 c3'left(fakeL,3)
  271.   tr "z4c"g1(10)"Allow SysOp  MCI's  :z0 c"g2(10)||left(subword('No Yes',s3.11+1),3)'Cz4c7Max. Fake Idle Mins.:z0 c3'left(fakeH,3);signal START
  272. SCREEN4:;sc=4;it=2;if save=0 then do;tr 'f1n2';exit;end;tr 'f1z4c7                     z0Cz7ccCNet/4 VisualDataEditorz0  c3'vw
  273.   tr 'z4c7<< Abort Exit        z0Cz7ccUse cursor keys; ENTER to selectz0n1'
  274.   tr 'z4c7Save changes         z0Cz4c7Exit without saving  z0';signal START
  275. G1:;arg a;return substr('70',gh.sc.a+1,1)
  276. G2:;arg a;return substr('30',gh.sc.a+1,1)
  277. EDIT:;parse arg v1,v2,v3;z=0;if v3=1 then z=16;if v3=2 then z=64;se "L1305640 #"v1"}sz3c4V1305640 %-"v2"."v2"s}uI"4100+z" "v2"}z0";gu 70;return result
  278. BBSTEXT:;l4=BBSLINE(1,4);l5=BBSLINE(1,5);l107=BBSLINE(1,107);l903=BBSLINE(1,903);l1066=BBSLINE(1,1066);fake=43;return
  279. BBSLINE: procedure;arg ty,li;getuser 1402018+(ty*4);ln=import(import(offset(x2c(d2x(result,8)),(li-1)*4),4),1024);parse var ln ln'00'x .;return ln
  280. SYNTAX:;ERROR:;IOERR:;e1="n1 Error: "rc" ("errortext(rc)")"
  281.   e2="  Line: "left(sigl,4)"File:";c="`"fp", "ver"'";e2=e2" "c;tr e1;tr e2
  282.   logentry e1;logentry e2;e=strip(translate(sourceline(sigl),"\{",""))
  283.   do while e~="";e3="Source: "left(e,37);tr e3;logentry e3;e=substr(e,38);end
  284.   bufferflush
  285. /**************************************************************************\
  286. \****************************************** Frontiers BBS (716)/823-9892 **/
  287.